ss = 0
'''
匿名函数lambda
是指没有名字的函数，这种函数【只能使用一次】，一般是在
函数的函数体只有一句代码且只有一个返回值时，可以使
用匿名函数来简化
语法结构：
    lambda 参数列表: 表达式
    result=lamdba 参数列表: 表达式
    
        
'''


def calc(a, b):
    return a + b


print(calc(1, 2))
# 匿名函数
s = lambda a, b: a + b  # s就是一个匿名函数
print(type(s))  # <class 'function'>

# 匿名函数的调用
print(s(1, 2))  # 3
print((lambda a, b: a + b)(1, 2))  # 3
# 列表正常取值
lst = [10, 20, 30, 40, 50]
for i in range(len(lst)):
    print(lst[i])
print('------------------------')

for i in range(len(lst)):
    result = lambda x: x[i]  # 根据索引取值，result的类型是function,x是形式参数
    print(result(lst))  # lst是实际参数

print('------------------------')

#
student_score = [
    {'name': '张三', 'score': 90},
    {'name': '李四', 'score': 50},
    {'name': '王五', 'score': 70},
    {'name': '赵六', 'score': 60},
]
# 按照成绩排序，排序规则是字典中的成绩
student_score.sort(key=lambda x: x['score'], reverse=True)

print(student_score)
